#pragma once
#include<assert.h>
typedef int Sltdatatype;
typedef struct Slist
{
	Sltdatatype data;
	struct Slist* next;
}Sltnode;
void Sltprint(Sltnode* phead);
Sltnode* Sltbuynewnode(Sltdatatype x);
void Sltpushback(Sltnode** pphead, Sltdatatype x);
void Slpushfront(Sltnode** pphead, Sltdatatype x);
void Stlpopback(Sltnode** pphead);
void Sltpopfront(Sltnode** pphead);
Sltnode* Sltfind(Sltnode* phead, Sltdatatype x);
void Sltinsert(Sltnode** pphead, Sltnode* pos, Sltdatatype x);
void Sltinsertafter(Sltnode* pos, Sltdatatype x);
void Slterase(Sltnode** pphead, Sltnode* pos);
void Slteraseafter(Sltnode* pos);
void Sltdestroy(Sltnode** pphead);
